Modern computers or communication systems typically use a multitude of cards interconnected through a connection board (e.g., a backplane). The connection board and the multitude of cards are designed and implemented so that they are scalable, allowing other cards to be added to the connection board.
Changes in operating condition of these cards and their connection board need to be communicated to equipment operators so that they know whether the equipment is functioning properly or critical faults have occurred. Hence, there is a need for a mechanism to communicate information from the cards to a central point to indicate the existence of critical faults in a timely manner. In this fashion, corrective action can be taken to eliminate or minimize any service disruption. This mechanism may also be capable of handling the changing configuration of the system, for example, if cards are added or removed.
In addition to reporting changes in operating condition, it is typically necessary for the central point to be able to control devices on the cards for maintenance and configuration operations. Accordingly, card redundancy is typically employed so that one card may provide services while another card is being maintained or repaired. The maintenance or configuration operation may be to correct a fault or to upgrade the capability of the card.
In particular, redundant system controllers are typically employed in a 1:1 (One-to-One) redundancy configuration in which there is a xe2x80x9cWorkingxe2x80x9d or active unit and a xe2x80x9cProtectionxe2x80x9d or standby unit. In this scenario, the Working unit is the master controller. If the Working unit is removed from service, either due to a failure or a maintenance operation, then the Protection unit takes over. In this case, the mastership is said to have changed from the Working unit to the Protection unit.
In conventional systems, the Working unit is required to be reset whenever there is a change on the mastership. In such an arrangement, a failure of the reset would cause the controllers to function incorrectly. Moreover, the conventional systems use mastership signals (i.e., the signals output from the controllers to indicate which controller is the master) that are static. In this arrangement, a stuck-at-fault failure of one or more of the mastership signals is difficult to detect and isolate.
The present invention provides redundant mastership control mechanism that overcomes one or more of the above described shortcomings of the conventional systems. In particular, the present invention includes a system (and a corresponding method) for indicating and determining a master unit from a plurality of logic units is described. The system includes a first logic unit configured to output a first obey signal and receive a first input signal, and a second logic unit configured to output a second obey signal and receive a second input signal. At least one of the first and second logic units includes logic to output its respective obey signal as a time varying signal, and at least one of the first and second logic units includes logic to control a phase relationship of the second obey signal relative to the first obey signal in response to at least one of the first and second input signals.
The system also includes a mastership determination logic unit having logic to determine that the first logic unit is the master unit when only the first obey signal is time varying and to determine that the second logic unit is the master unit when only the second obey signal is time varying. The mastership determination logic unit further includes logic to determine that the first logic unit is the master unit when the first and second obey signals are time varying in-phase and to determine that the second logic unit is the master unit when the first and second obey signals are time varying out-of-phase.
In addition, each of the first and second obey signals includes a redundant trace signal. The first and second obey signals and their redundant trace signals are analyzed by the mastership determination logic unit to detect a fault when it occurs.